package router

import (
	"odm/com"

	"github.com/kataras/iris/v12"
	"github.com/spf13/viper"
)

type Conifg struct {
	fileSize int64  // 上传文件限制大小 单位：MB
	filePath string // 上传文件目录
}

var config *Conifg

func SetupRouter(app *iris.Application, conf *viper.Viper) {
	// --------------------- init config -----------------------
	config.fileSize = conf.GetInt64("app.fileSize")
	config.filePath = conf.GetString("app.filePath")
	// 用户登录
	app.Post("/api/login", login)

	// -------------------------- user --------------------------
	user := app.Party("/api/user")
	// 鉴权
	user.Use(com.Authorize())
	// 获取用户清单
	user.Get("/list", getUserList)
	// 用户删除
	user.Delete("/remove/:uid", removeUser)
	// 用户状态设置
	user.Post("/set", setUserStatus)
	// 用户注册
	user.Post("/register", register)
	// 用户密码修改
	user.Post("/password", changePassword)

	// ---------------------------- link -------------------------
	link := app.Party("/api/link")
	// 鉴权
	link.Use(com.Authorize())
	// 新增连接配置
	link.Post("/add", addLink)
	// 获取连接配置清单
	link.Get("/list", getLinks)
	// 删除连接配置
	link.Delete("/remove/:lid", removeLink)
	// 获取RSA公共密钥
	link.Get("/key", getKey)
}
